package com.atguigu.gmall.product.mapper;

import com.atguigu.gmall.model.product.SpuSaleAttr;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.apache.ibatis.annotations.MapKey;
import org.apache.ibatis.annotations.Param;

import java.util.List;
import java.util.Map;

/**
* @author lfy
* @description 针对表【spu_sale_attr(spu销售属性)】的数据库操作Mapper
* @createDate 2022-03-05 09:33:47
* @Entity com.atguigu.gmall.product.domain.SpuSaleAttr
*/
public interface SpuSaleAttrMapper extends BaseMapper<SpuSaleAttr> {

    /**
     * 按照spuId查出当前spu对应的所有销售属性名和值
     * @param spuId
     * @return
     */
    List<SpuSaleAttr> getSpuSaleAttrList(@Param("spuId") Long spuId);

    /**
     * 按照skuId，查出对应的spu的所有销售属性名和值，并且标记出当前sku属于哪一种组合
     * @param skuId
     * @param spuId
     * @return
     */
    List<SpuSaleAttr> getSpuAndSkuSaleAttrValue(@Param("skuId") Long skuId, @Param("spuId") Long spuId);


    /**
     * 查询出当前spu下的所有sku的销售属性值有效组合
     * @param spuId
     * @return
     */
    @MapKey("value_ids")
    Map<String, Object> getSpuDeSkuSaleAttrValuesZuhe(@Param("spuId") Long spuId);
}




